Towards a Fully Pessimistic STM Model
نویسندگان
چکیده
The designs of software transactional memory (STM) algorithms to date have been optimistic: transactions that run into inconsistencies abort and retry. The common view is that this optimistic approach gives significant performance benefits, and yet we know that it also results in complex programming, limitations on what can be executed within a transaction, and difficult debugging. This is a burden that does not exist in the pessimistic lock-based programming model transactions are meant to replace. This paper introduces the first STM system that is fully pessimistic, that is, each and every transaction, whether reading or writing, is executed once and never aborts. The benefits of this fully pessimistic STM are that programming with it is logically as simple as with locks, allowing I/O and system calls within a transaction, and making the debugging process significantly simpler. Perhaps surprisingly, we show that on many standard STM benchmarks, our fully pessimistic STM system, which also offers full transactional privatization, delivers performance and scalability that are comparable to that of the most efficient optimistic non-privatizing STM systems. This puts in question our commonly accepted understanding of the tradeoffs between pessimism and performance.
منابع مشابه
Pessimistic Software Lock-Elision
Read-write locks are one of the most prevalent lock forms in concurrent applications because they allow read accesses to locked code to proceed in parallel. However, they do not offer any parallelism between reads and writes. This paper introduces pessimistic lock-elision (PLE), a new approach for nonspeculatively replacing read-write locks with pessimistic (i.e. non-aborting) software transact...
متن کاملProving Opacity of a Pessimistic STM
Transactional Memory (TM) is a high-level programming abstraction for concurrency control that provides programmers with the illusion of atomically executing blocks of code, called transactions. TMs come in two categories, optimistic and pessimistic, where in the latter transactions never abort. While this simplifies the programming model, high-performing pessimistic TMs can be complex. In this...
متن کاملA Fully Integrated Approach for Better Determination of Fracture Parameters Using Streamline Simulation; A gas condensate reservoir case study in Iran
Many large oil and gas fields in the most productive world regions happen to be fractured. The exploration and development of these reservoirs is a true challenge for many operators. These difficulties are due to uncertainties in geological fracture properties such as aperture, length, connectivity and intensity distribution. To successfully address these challenges, it is paramount to im...
متن کاملAn analytic framework for performance modeling of software transactional memory
1389-1286/$ see front matter 2009 Elsevier B.V doi:10.1016/j.comnet.2009.02.006 * Corresponding author. Tel.: +49 913185 91318527041. E-mail address: [email protected] Analytic models based on discrete-time Markov chains (DTMC) are proposed to assess the algorithmic performance of Software Transactional Memory (TM) systems. Base STM variants are compared: optimistic STM with inplac...
متن کاملThe Evolutionary Stability of Optimism, Pessimism and Complete Ignorance
We provide an evolutionary foundation to evidence that in some situations humans maintain optimistic or pessimistic attitudes towards uncertainty and are ignorant to relevant aspects of the environment. Players in strategic games face Knightian uncertainty about opponents’ actions and maximize individually their Choquet expected utility. Our Choquet expected utility model allows for both an opt...
متن کامل